package cn.kgc.springday03.entity;

/**
 * @author 课工场
 * @date 2023/10/8
 * @description  spring容器中bean的生命周期     创建 -> 销毁
 * 1. 创建    spring工厂对象创建时 会默认创建所有单例的bean  无参构造  prototype类型的bean在使用时才会被创建
 *     是否创建对象跟bean作用域有关
 *     scope="singleton"  单例的  全局只会创建一次     默认
 *     scope="prototype"  原型的  从spring容器中获取一次创建一个对象

 * 2. 属性的初始化  set
 *
 * 3.init()  完成初始化  静态资源的加载
 *
 * 4. 销毁对象    spring容器关闭时  销毁所有单例的bean
 */

public class Teacher {

    private String teaName;
    private Integer age;

    public  Teacher(){
        System.out.println("teacher对象被创建");
    }

    public Teacher(String teaName, Integer age) {
        this.teaName = teaName;
        this.age = age;
    }


    public String getTeaName() {
        return teaName;
    }

    public void setTeaName(String teaName) {
        System.out.println("set方法被调用,完成属性初始化");
        this.teaName = teaName;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }


    // 自定义销毁方法
    public void  destroy(){

        System.out.println("对象被销毁");

    }

    // 初始化方法
    public void  init(){

        System.out.println("init()方法被调用");

    }
    @Override
    public String toString() {
        return "Teacher{" +
                "teaName='" + teaName + '\'' +
                ", age=" + age +
                '}';
    }

}
